﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

namespace Common
{
    public static class Util
    {
        public static string RunCmd(string _args, bool _waitReturn)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";           //设定程序名
            if (_args != null)
                p.StartInfo.Arguments = "/C" + _args;    //设定程式执行参数
            p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
            p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
            p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
            p.StartInfo.RedirectStandardError = true;   //重定向错误输出
            p.StartInfo.CreateNoWindow = true;          //设置不显示窗口
            p.Start();  //启动
            p.StandardInput.WriteLine("exit");
            if (_waitReturn)
                return p.StandardOutput.ReadToEnd();        //从输出流取得命令执行结果
            else
                return null;
        }

        public static string RunCmd(string _args)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";           //设定程序名
            if (_args != null)
                p.StartInfo.Arguments = "/C" + _args;    //设定程式执行参数
            p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
            p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
            p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
            p.StartInfo.RedirectStandardError = true;   //重定向错误输出
            p.StartInfo.CreateNoWindow = true;          //设置不显示窗口
            p.Start();  //启动
            p.StandardInput.WriteLine("exit");
            return p.StandardOutput.ReadToEnd();        //从输出流取得命令执行结果
        }
    }
}
